﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LEET.CommonInterfaces.Compilers;

namespace LEET.CommonInterfaces.Models
{
    public interface IInstruction
    {
        [Obsolete("Originally for the use of the compiler, now using RenderStaticCall", false)]
        StringBuilder RenderMethod(int i, AssertionSet asserts);
        [Obsolete("Originally for the use of the compiler, now using RenderStaticCall", false)]
        String RenderMethodCall(int i);


        bool Valid { get; }
        IList<String> Errors { get; }
        String PlainText();

        String Name {get;}
        String InstructionType{get;}


        /**
         * Returns a fully qualified static method call with result type AtomationActionResult
         */
        String RenderStaticCall();
    }
}
